/**
 *  很多场景 我们不需要创建非常多的实例 
 *    比如连接数据库 这个只需要链接一次就可以了  就可以大大的节约资源
 */

{
  class Axios{

    static INSTANCE:Axios|null

    static make(){
      if(!Axios.INSTANCE){
        console.log('create！！！')
        Axios.INSTANCE = new Axios()
      }
      return Axios.INSTANCE
    }

    private constructor(){

    }
  }

  // new Axios()  不能通过这个创建 会报错  因为 constructor 是私有的 杜绝了这种创建实例的方式

  /**
   * 下面虽然创建了很多实例 但是实际上只会有一个实例
   *  这就是单例模式 广泛的运用于 链接数据库 与其他地方
   */
  let instance1 = Axios.make()
  let instance2 = Axios.make()
  let instance3 = Axios.make()
  let instance4 = Axios.make()
}

